package p1.demo03;

public class Clint {
    public static void main(String[] args) {
        //真实角色
        Host host=new Host();

        //代理角色: 本身没有,通过 new invocationHandler 得到
        proxyinvocationHandler pih = new proxyinvocationHandler();
        /*通过调用程序处理角色来处理我们要调用的接口对象
        在静态代理中,真实角色和代理角色都需要实现接口角色,
        但在动态代理中没有代理类,因此在动态代理中通过"代理角色的处理程序来实现, proxyinvocationHandler )*/
        pih.setRent(host); //设置被代理的真实对象
        //这里需要将真实对象注入给代理类对象,选择有参构造和set方法注入都可以

        //这个就是代理类,通过动态生成实现的
        Rent aa =(Rent) pih.getProxy();
            aa.rent();
    }


}
